package com.ionehe.group.common.notify.event.factory;


import com.ionehe.group.common.notify.event.listener.EventListener;
import com.ionehe.group.common.notify.event.producer.EventProducer;

/**
 * Copyright (c) 2021 ionehe.com
 * Date: 2021/4/21
 * Time: 1:22 下午
 *
 * @author 2021年 <a href="mailto:a@ionehe.com">秀</a>
 * 【事件工厂】
 */
public interface EventFactory {
    /**
     * 创建event生产者
     *
     * @param identifier identifier
     * @return 生产者
     */
    EventProducer createProducer(String identifier);

    /**
     * 创建订阅
     *
     * @param eventProducer 生产者
     * @param eventListener 监听器
     */
    void createSubscriber(EventProducer eventProducer, EventListener eventListener);
}